import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import fs from 'fs'
import path from 'path'

// 读取配置文件获取后端端口
let backendPort = 3001
try {
  const configPath = path.resolve(__dirname, 'config.json')
  if (fs.existsSync(configPath)) {
    const config = JSON.parse(fs.readFileSync(configPath, 'utf8'))
    backendPort = config.port || 3001
  }
} catch (error) {
  console.log('使用默认后端端口 3001')
}

export default defineConfig({
  plugins: [vue()],
  server: {
    host: '0.0.0.0',
    port: 3000,
    strictPort: false, // 允许自动寻找可用端口
    proxy: {
      '/api': {
        target: `http://localhost:${backendPort}`,
        changeOrigin: true,
        configure: (proxy, options) => {
          // 动态更新代理目标
          proxy.on('proxyReq', (proxyReq, req, res) => {
            // 可以在这里添加动态端口检测逻辑
          })
        }
      }
    }
  }
}) 